﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using MaquinaJMG.GUI.Contrato;
using Logica.Comandos;
using Datos.Entidades;
using Logica.FabricaLogica;
using Datos.Entidades.FabricaEntidades;
//using Subgurim.Controles;

namespace MaquinaJMG.GUI.Presentador
{
    public class PresentadorModificarParticipante
    {
        private IContratoModificarParticipante _vista;

        
        /// <summary>
        /// Constructor que inicializa el atributo vista
        /// </summary>
        /// <param name="vista">Objeto de tipo Interfaz</param>
         public PresentadorModificarParticipante(IContratoModificarParticipante vista)
        {
            
            this._vista = vista;
         
        }
        Entidad elParticipante = new Entidad();
        List<Entidad> lasCategorias=new List<Entidad>();

        public void llenarCampos()
    {

        Comando comando2 = FabricaComandoCategoria.CrearComandoListarCategoria();
        comando2.Ejecutar();
        lasCategorias=comando2.ListaEntidad;
        for (int i = 0; i < lasCategorias.Count; i++)
        {
            _vista.tipo.Items.Add(new ListItem((lasCategorias.ElementAt(i) as Categoria).NombreCategoria,(lasCategorias.ElementAt(i) as Categoria).Id_Categoria.ToString()));
        }
        _vista.tipo.DataBind();
        Comando comando = FabricaComandoParticipante.CrearComandoBuscarParticipante(int.Parse(_vista.Idc));
        comando.Ejecutar();
        elParticipante = comando.Entidad;
        _vista.id.Text = (elParticipante as Participante).IdParticipante.ToString();
        _vista.nombre.Text = (elParticipante as Participante).NombreParticipante;


        if ((elParticipante as Participante).Status == 1)
            _vista.status.SelectedIndex = 0;
        else
            _vista.status.SelectedIndex = 1;

        _vista.tipo.SelectedValue=(elParticipante as Participante).Categoria.ToString();
        
    }




        


        public string ClickAceptar(int idcat)
        {
            
            Entidad participante = FabricaEntidades.ObtenerParticipante();
            (participante as Participante).IdParticipante = int.Parse(_vista.id.Text);
            (participante as Participante).NombreParticipante = _vista.nombre.Text;
            if(_vista.status.SelectedIndex==0)
                (participante as Participante).Status = 1;
            else
                (participante as Participante).Status = 0;
           
           
                (participante as Participante).Categoria=idcat;

                
            Comando comando = FabricaComandoParticipante.CrearComandoModificarParticipante(participante);
            comando.Ejecutar();
            if (!comando.Flag)
                return "No se ha podido modificar la Participante!";
            else

                return "El participante  fue modificado con éxito!";
        }

        

    }
}